Backup solution providers often face the challenge of providing the most optimal backup performance to users. Some of the challenges may come from operational dependencies on many factors in backup environments. Such factors may include Operating System (OS) parameters (CPU, Memory, I/O queue etc.), backup software attributes (sessions, parallelism, multiplexing etc.), and hardware configurations (storage, NIC, SAN etc.), among others. Due to the constant changes of these factors, even if a provisioning was first conducted to optimize a backup system performance, the optimized performance may not be sustained if the initial settings are not adapted to the changing environment. Thus, constant changes in any backup environment would require constant calibration of the backup software and/or hardware to optimize the backup system performance.
Manual configuration of a backup environment is both error-prone and inefficient. For example, when facing a complex backup environment, it is easy to miss out dependencies on one or many parameters during a manual configuration. Further, when most of the examinations and configurations of system parameters are conducted manually, it would place a significant maintenance overhead on administrators to keep up with the constant changes in backup environments.
There is a need, therefore, for an improved method or system that would automatically adapt to changes in a backup environment to optimize the backup performance.